home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu022.dms / pu022.adf / Source / Source.LZH / prefs.c < prev    next >
C/C++ Source or Header  |  1991-06-12  |  2KB  |  92 lines

  1. /***************************************************************************
  2. * prefs.c: Voreinstellungen des Programmes verändern               *
  3. *       - Bildverhältnis                           *
  4. *       - Icons fuer IFF-Datein ja/nein                   *
  5. *       - Screen-Titel-Zeile ja/nein                    *
  6. *                                       *
  7. * created: 02-Apr-91 Mtwx                           *
  8. * updated: 13-Jun-91 Mtwx                           *
  9. ***************************************************************************/
  10.  
  11.  
  12. /* ------------------------------- Includes ----------------------------- */
  13. #include <libraries/arpbase.h>
  14. #include <proto/intuition.h>
  15. #include <math.h>
  16. #include "chem_defs.h"
  17. #include "prefs.h"
  18. #include "messages.h"
  19.  
  20. /* ------------------------------- Defines ------------------------------ */
  21.  
  22. /* ------------------------------- external references ------------------ */
  23.  
  24. extern USHORT GadgetID;
  25. extern struct Border StringGBorder2;
  26. extern struct Window *Window1;
  27. extern struct Screen *FirstScreen;
  28.  
  29. extern void SimpleRequest(char*,...);
  30.  
  31. /* ---------------------------------------------------------------------- */
  32.  
  33. void prefs(struct ChemPrefs *ChemPrefs)
  34. {
  35.   int ende=0;
  36.   SHORT SGVec2[]={ 0,11,35,11,35,0 };
  37.   SHORT SGVec1[]={ 0,10,0,0,34,0 };
  38.   struct Border LocalSGBorder1;
  39.   struct Border LocalSGBorder2;
  40.   struct Window *PrefsWindow=NULL;
  41.  
  42.   LocalSGBorder1=StringGBorder1;
  43.   LocalSGBorder2=StringGBorder2;
  44.   LocalSGBorder1.NextBorder=&LocalSGBorder2;
  45.   LocalSGBorder1.XY=SGVec1;
  46.   LocalSGBorder2.XY=SGVec2;
  47.   BVGadget.GadgetRender=(APTR)&LocalSGBorder1;
  48.   PrefsFenster.Screen = FirstScreen;
  49.   sprintf(BVBuffer,"%3.1f",ChemPrefs->bv);
  50.  
  51.   if (!(PrefsWindow = OpenWindow(&PrefsFenster)))
  52.   {
  53.     SimpleRequest(NO_PREFS_WIN);
  54.     return;
  55.   }
  56.   Print(PrefsWindow,YXREL_TEXT,1,0,10,26);
  57.   Print(PrefsWindow,ICONCREAIFF_TEXT,1,0,10,48);
  58.   Print(PrefsWindow,TITLE_TEXT,1,0,10,68);
  59.   while(!ende)
  60.   {
  61.     switch(Nachricht(PrefsWindow))
  62.     {
  63.       case CLOSEWINDOW:
  64.     CloseWindowSafely(PrefsWindow,TRUE);
  65.     ende++;
  66.     break;
  67.       case GADGETUP:
  68.     switch(GadgetID)
  69.     {
  70.       case BVERH:
  71.         ChemPrefs->bv=atof(BVBuffer);
  72.         break;
  73.       case ICONCREAIFF:
  74.         if(IconCreaIFFGadget.Flags & SELECTED)
  75.           ChemPrefs->IconCreaIFF=TRUE;
  76.         else
  77.           ChemPrefs->IconCreaIFF=FALSE;
  78.         break;
  79.       case TITEL:
  80.         if(TitleGadget.Flags & SELECTED)
  81.           ChemPrefs->Title=TRUE;
  82.         else
  83.           ChemPrefs->Title=FALSE;
  84.         ShowTitle(FirstScreen,ChemPrefs->Title);
  85.         break;
  86.     }
  87.     break;
  88.     }
  89.   }
  90.   return;
  91. }
  92.